---
title: SAIF.Business.View.Policy overview
summary: High-level purpose, scope, and responsibilities for the read-only policy-view and policy-authorization component.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# SAIF.Business.View.Policy overview

> **Documentation context:** Embedded library (local project reference within this repository)

`SAIF.Business.View.Policy` is a mid-tier VB.NET class library with no program entry points that
aggregates a consolidated, read-only "policy header" view (policy data, address, agency, MCO, team
assignments, trading-as names, affiliations, payroll class info) and provides the central
policy-authorization gate (`clsPolicySecurity`) consumed by the Claims Legal front end.

## Purpose
- Assemble a policy's aggregate view data — header, address, agency/agent, MCO assignment, team
  assignment roster, trading-as names, affiliated policies, and payroll class info — behind
  `clsPolicyData` as the principal entry point.
- Enforce policy-level authorization decisions via `clsPolicySecurity.IsPolicyValidForUser(...)`,
  gating access to a policy based on a global secure-policy AD-resource check plus per-user-type
  ownership rules (agent, policyholder, group, loss-control, auditor, employee/MCO/med-provider/bookkeeper).
- Resolve policy-to-policy associations (manual affiliation, wrapup, leasing, sub-account, state
  agency, experience/discount combination) through `clsAssociationTypeCode` and the `Associations\`
  factory classes.
- Provide read-only data retrieval exclusively — every `CreateSQL`/`InsertSQL`/`UpdateSQL`/`DeleteSQL`
  override across the 16 `IBusinessCriteria` objects in this library returns empty or throws,
  confirming this library performs no writes.
- Consumed by the Claims Legal front end (and sibling business libraries) for policy context lookups
  and access-control decisions.

## Responsibilities
- Aggregate and expose read-only policy header, address, agency, MCO, team-assignment, trading-as,
  affiliation, and payroll-classification data.
- Gate policy access per user type and mask PII for demo-tier users.
- Resolve policy-association type codes and relationships for the affiliation/grouping domain.

## Key components
- `clsPolicyData`: Aggregate policy header view object and principal retrieval entry point.
- `clsPolicySecurity`: Central authorization class determining policy access and per-user-type
  "book of business" lists.
- `clsPolicyAddress`, `clsAgency`, `clsPolicyMCOCollection`/`clsMCOCollection`,
  `clsTeamAssignmentCollection`: Supporting contact, agency, MCO, and team-assignment data with
  demo-user data masking.
- `Associations\clsAssociationTypeCode(Collection)`, `clsPolicyAssociationFactory`: Policy-to-policy
  association type resolution.
- `clsTradingAs(Collection)`, `clsNonEmployerAccount`, `clsPayrollClassInfo(Collection)`,
  `clsPolicySearch`: Supporting reference and search-result value objects.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `SAIF.Business.View.Policy\SAIF.Business.View.Policy.vbproj`
- `.saifdocgen/state/runs/20260821-113120-claims-bof-web-legal/analysis/TSK005-analysis.md`
